#lua macros
Explore tagged Tumblr posts
zwoelffarben · 2 years ago
Note
I got a second keyboard and used a combination lua macros and autohotkey to make it so that I can type a bunch of non-qwerty keys using that second keyboard: one of the characters that was the onus for me getting that keyboard was I really wanted to be able to just type – instead of having to rigamarol a copy past.
And now in addition to having immediate access to – and —, I can just type ä, æ, ö, ü, ß, é, ñ, þ, ‚ (for 'commas' in tumblr tags), ‽, –, —,℉, ¡, ¿, ¹²³⁴⁵⁶⁷⁸⁹⁰ (for citations /footnotes), and a bunch of other characters which have... varying degrees of usefulness, all set up in such a way that if ever I want to change the set up it's as easy as look up the unicode index for the character, and put it into a text doc on which ever line represents the key I want it to correspond to.
My current keyboard looks like this (one physical 8x6 keyboard with three modifiers):
Tumblr media
I wholeheartedly reccommend that anyone who semi-regularly needs one or more characters not in their standard keyboard's layout bother with setting up a custom auxilary keyboard.
A pet peeve of mine, as many others, is when the dialogues format is a fucking horrible mess. But my first language is not english, so I can get over the comma being out the quotation marks instead of in, for example. But also, as many americans, I also do not like the „“. However, I can get over it too because that's just a cultural difference, being the German way of writing it. (Though I think other languages also do that, but don't remember the list.)
Now. Cultural difference is one thing. Using whatever the fuck you want because (general) you can not even phantom the idea of searching the correct punctuation mark is another thing.
My language used em dashes. And sometimes people just use everything but em dashes. I have seen people using the hyphen, the minus sign, and even the underscore. The damn underscore. I want to cry when I see the underscore in what is supposed to be dialogues.
--
722 notes · View notes
jonamias · 11 months ago
Text
Tumblr media
Imagem | v2osk / Unsplash
Concluindo um Ciclo...
Antes de tudo, gostaria de agradecer a todas as pessoas que estiveram comigo acompanhando minhas atividades nesta página pessoal e por meio de outros lugares deste ciberespaço. É muito gratificante saber que os conteúdos que compartilho têm trazido acolhimento e uma oportunidade para a reflexão em questões tão essenciais em uma época bastante transformadora como esta em que vivemos.
O Anel Solar 36* foi muito transformador de muitas maneiras para mim, especialmente ao ver-me inserido em uma realidade tão movimentada e instável em certo sentido. No início causou-me apreensão, sendo que hoje tenho uma percepção mais abrangente acerca desta nova visão que eu adquiri ao longo daquele ciclo.
Assim, chegando ao fim de mais um Anel Solar, vejo que o próximo ciclo será cheio de oportunidades, assim como desafios reais que podem mudar a história da humanidade, sendo essencial a nossa atenção em relação a nossas escolhas diárias, que mesmo sendo individuais, possuem uma grande influência de mudanças no macro desta realidade coletiva. A tomada de consciência em relação ao que de fato ocorre além do que é mostrado é de extrema importância, especialmente se desejarmos avançar em nossos processos de desenvolvimento pessoal.
Desejo a cada um de vocês um feliz novo ciclo de muita sabedoria, paz, harmonia e saúde. 
— Jonatas M.
--------------------------------------------------------------------------
Notas:
* Anel Solar é uma nomenclatura usada no Sincronário de 13 Luas de 28 Dias para referir-se ao período de um ano.
Para saber mais a respeito do Tempo Natural e do Sincronário de 13 Luas de 28 Dias, acesse estes endereços virtuais logo a baixo:
13 Lunas [Em Espanhol] 
https://13lunas.net/tutorial/menu.html  
Instituto Noosfera
https://institutonoosfera.org.br/artigo/o_sincronario 
Portal Tzolkin Brasil
https://tzolkin.io/info/sincronario
Yasmin Vianna | YouTube 
https://m.youtube.com/watch?v=RQWZ1iYTboE&t=146s
7 notes · View notes
offloadstudy · 26 days ago
Text
🩵 Unidade 2 — Desenvolver a Estratégia
💦 Questões-Chave
• Quem somos? • Quais são nossos propósitos? • Qual é a nossa visão? • Para onde vamos e como chegaremos lá?
Essas perguntas guiam a formulação da estratégia organizacional.
🔹 Negócio, Missão, Visão e Valores
🧶 Negócio
• O que o cliente realmente compra? Qual valor ele busca? • Forma restrita: produtos e serviços • Forma ampla: benefícios percebidos pelo cliente
🔹 Exemplo: Editora Abril → Publicações (restrito) → Informação, cultura, entretenimento (amplo)
🧶 Missão
A razão de existir da organização. Responde a: o que fazemos, para quem, onde e como.
🔹 Exemplos: • “Servir alimentos de qualidade, com rapidez e simpatia...” • “Informar com agilidade e imparcialidade...”
🧶 Visão
Um sonho inspirador, ambicioso e mobilizador.
🔹 Exemplo: “Até o final desta década levaremos o homem à lua...” — John Kennedy
💦 Quadro Comparativo: Missão x Visão
Missão: • Quem somos • Rumo da empresa • Foco presente-futuro
Visão: • Quem queremos ser • Inspiração e aspiração • Foco no futuro
🪩 OVR: Objetivo, Vantagem, Raio de Ação
Objetivo (O): o que se busca alcançar (ex: ser líder no mercado europeu)
Vantagem (V): diferencial competitivo (ex: preço + confiabilidade)
Raio de Ação (R): onde e para quem (ex: viajantes sensíveis a preço)
🧶 Valores Organizacionais
Crenças e princípios que norteiam decisões.
🔹 Exemplo: Volvo = Segurança • Criou o cinto de 3 pontos • Airbags laterais pioneiros
🌀 “Não pergunte em que valores devemos acreditar. Pergunte em que valores acreditamos de fato e defendemos com paixão.” — Collins & Porras
🐬 Análise Externa
Objetivo: Identificar oportunidades e ameaças no ambiente externo.
💠 Questões para Análise Externa
Quais são nossas aspirações?
Onde atuaremos? (clientes, mercados, canais)
Como venceremos? (produtos, diferenciais)
🧶 Ferramenta 1: PESTEL
Análise de fatores: • Políticos • Econômicos • Sociais • Tecnológicos • Ambientais • Legais
Ajuda a entender o "cenário macro" que pode influenciar a empresa.
🧶 Ferramenta 2: Análise de Cenários (Exemplo SHELL)
Identificar temas e incertezas-chave
Mapear variáveis e forças motrizes
Criar cenários possíveis (ex: mercado regulado x selvagem)
🐳 A empresa pode: • Apostar em um cenário provável • Ser flexível até o cenário se definir • Criar estratégias válidas para qualquer cenário
🧶 Ferramenta 3: Cinco Forças de Porter
Ameaça de novos entrantes
Poder de negociação de fornecedores
Poder de negociação de compradores
Ameaça de produtos substitutos
Rivalidade entre concorrentes
🪼 Entende o nível de competitividade e os riscos do setor.
🧶 Ferramenta 4: Matriz SWOT (FOFA)
• F = Forças (internas) • O = Oportunidades (externas) • F = Fraquezas (internas) • A = Ameaças (externas)
A análise SWOT conecta a análise externa com a análise interna (próxima etapa).
🧊 Análise Interna
Objetivo: Avaliar recursos, capacidades, sistemas e cultura organizacional.
🪼 Questões para Análise Interna
Quais capacidades precisamos para ter sucesso?
Quais sistemas serão necessários para medir e entregar performance?
🥏 Ferramenta: Cadeia de Valor (Porter)
Avalia atividades principais e de suporte da empresa:
Atividades Primárias: • Logística interna • Operações • Logística externa • Marketing e vendas • Serviços
Atividades de Suporte: • Infraestrutura • Gestão de RH • Desenvolvimento tecnológico • Aquisições
Ajuda a identificar onde estão os diferenciais reais da organização.
🌌 Ativos Internos
É preciso mapear os ativos que sustentam a empresa: • Capital intelectual • Marca e reputação • Processos internos • Conhecimentos únicos
🥡 SWOT (continuação)
Aqui, identificamos: • Pontos Fortes (Strengths) • Pontos Fracos (Weaknesses)
Esses fatores internos serão combinados com as oportunidades e ameaças externas para gerar estratégias sólidas.
🌊 Leitura Complementar (Opcional)
🔸 Vídeo: Missão e Visão Empresarial Resumo: Explica, com exemplos visuais, a diferença entre missão e visão. Mostra como empresas bem-sucedidas usam esses conceitos para alinhar toda a organização.
🔸 Vídeo: Visão — John Kennedy Resumo: Um dos discursos mais icônicos sobre visão estratégica. Mostra como a visão pode mobilizar nações inteiras quando bem definida.
🔸 Vídeo: Estratégia Empresarial na prática – Johnnie Walker Resumo: Mostra como uma boa narrativa pode sustentar a imagem estratégica de uma marca por décadas. Exemplo clássico de consistência entre visão e comunicação estratégica.
🔸 Vídeo: Visão Sistêmica de Recursos Resumo: Traz uma visão ampla sobre como ativos internos (como conhecimento, processos e cultura) impactam diretamente a estratégia. Explica o valor de identificar e desenvolver vantagens invisíveis.
0 notes
inyaspeell · 26 days ago
Text
🌷 Unidade 2 — Desenvolver a Estratégia
🧠 Questões-Chave
• Quem somos? • Quais são nossos propósitos? • Qual é a nossa visão? • Para onde vamos e como chegaremos lá?
Essas perguntas guiam a formulação da estratégia organizacional.
🔹 Negócio, Missão, Visão e Valores
🍓 Negócio
• O que o cliente realmente compra? Qual valor ele busca? • Forma restrita: produtos e serviços • Forma ampla: benefícios percebidos pelo cliente
🥢 Exemplo: Editora Abril → Publicações (restrito) → Informação, cultura, entretenimento (amplo)
🍓 Missão
A razão de existir da organização. Responde a: o que fazemos, para quem, onde e como.
🥢 Exemplos: • “Servir alimentos de qualidade, com rapidez e simpatia...” • “Informar com agilidade e imparcialidade...”
🍓 Visão
Um sonho inspirador, ambicioso e mobilizador.
🥢 Exemplo: “Até o final desta década levaremos o homem à lua...” — John Kennedy
🌷 Quadro Comparativo: Missão x Visão
Missão: • Quem somos • Rumo da empresa • Foco presente-futuro
Visão: • Quem queremos ser • Inspiração e aspiração • Foco no futuro
🪩 OVR: Objetivo, Vantagem, Raio de Ação
Objetivo (O): o que se busca alcançar (ex: ser líder no mercado europeu)
Vantagem (V): diferencial competitivo (ex: preço + confiabilidade)
Raio de Ação (R): onde e para quem (ex: viajantes sensíveis a preço)
🍓 Valores Organizacionais
Crenças e princípios que norteiam decisões.
🥢 Exemplo: Volvo = Segurança • Criou o cinto de 3 pontos • Airbags laterais pioneiros
✨ “Não pergunte em que valores devemos acreditar. Pergunte em que valores acreditamos de fato e defendemos com paixão.” — Collins & Porras
❤️ Análise Externa
Objetivo: Identificar oportunidades e ameaças no ambiente externo.
📌 Questões para Análise Externa
Quais são nossas aspirações?
Onde atuaremos? (clientes, mercados, canais)
Como venceremos? (produtos, diferenciais)
🍧 Ferramenta 1: PESTEL
Análise de fatores: • 🏛️ Políticos • 💰 Econômicos • 👥 Sociais • 💡 Tecnológicos • 🌱 Ambientais • ⚖️ Legais
Ajuda a entender o "cenário macro" que pode influenciar a empresa.
🍧 Ferramenta 2: Análise de Cenários (Exemplo SHELL)
Identificar temas e incertezas-chave
Mapear variáveis e forças motrizes
Criar cenários possíveis (ex: mercado regulado x selvagem)
🎯 A empresa pode: • Apostar em um cenário provável • Ser flexível até o cenário se definir • Criar estratégias válidas para qualquer cenário
🍧 Ferramenta 3: Cinco Forças de Porter
Ameaça de novos entrantes
Poder de negociação de fornecedores
Poder de negociação de compradores
Ameaça de produtos substitutos
Rivalidade entre concorrentes
📌 Entende o nível de competitividade e os riscos do setor.
🍧 Ferramenta 4: Matriz SWOT (FOFA)
• F = Forças (internas) • O = Oportunidades (externas) • F = Fraquezas (internas) • A = Ameaças (externas)
A análise SWOT conecta a análise externa com a análise interna (próxima etapa).
🧠 Análise Interna
Objetivo: Avaliar recursos, capacidades, sistemas e cultura organizacional.
📌 Questões para Análise Interna
Quais capacidades precisamos para ter sucesso?
Quais sistemas serão necessários para medir e entregar performance?
🍧 Ferramenta: Cadeia de Valor (Porter)
Avalia atividades principais e de suporte da empresa:
Atividades Primárias: • Logística interna • Operações • Logística externa • Marketing e vendas • Serviços
Atividades de Suporte: • Infraestrutura • Gestão de RH • Desenvolvimento tecnológico • Aquisições
Ajuda a identificar onde estão os diferenciais reais da organização.
🌳 Ativos Internos
É preciso mapear os ativos que sustentam a empresa: • Capital intelectual • Marca e reputação • Processos internos • Conhecimentos únicos
🥡 SWOT (continuação)
Aqui, identificamos: • Pontos Fortes (Strengths) • Pontos Fracos (Weaknesses)
Esses fatores internos serão combinados com as oportunidades e ameaças externas para gerar estratégias sólidas.
📖 Leitura Complementar (Opcional)
🔸 Vídeo: Missão e Visão Empresarial Resumo: Explica, com exemplos visuais, a diferença entre missão e visão. Mostra como empresas bem-sucedidas usam esses conceitos para alinhar toda a organização.
🔸 Vídeo: Visão — John Kennedy Resumo: Um dos discursos mais icônicos sobre visão estratégica. Mostra como a visão pode mobilizar nações inteiras quando bem definida.
🔸 Vídeo: Estratégia Empresarial na prática – Johnnie Walker Resumo: Mostra como uma boa narrativa pode sustentar a imagem estratégica de uma marca por décadas. Exemplo clássico de consistência entre visão e comunicação estratégica.
🔸 Vídeo: Visão Sistêmica de Recursos Resumo: Traz uma visão ampla sobre como ativos internos (como conhecimento, processos e cultura) impactam diretamente a estratégia. Explica o valor de identificar e desenvolver vantagens invisíveis.
0 notes
marketingajaa · 3 months ago
Text
Pemasaran Melalui Influencer: Strategi Memanfaatkan Influencer untuk Meningkatkan Brand Awareness
Pentingnya Jasa Studi Kelayakan dalam Strategi Pemasaran
Dalam dunia bisnis yang semakin kompetitif, strategi pemasaran yang efektif sangat penting untuk meningkatkan brand awareness dan menarik lebih banyak pelanggan. Salah satu strategi pemasaran yang berkembang pesat adalah pemasaran melalui influencer. Namun, sebelum mengadopsi strategi ini, bisnis perlu melakukan analisis menyeluruh dengan Jasa Studi Kelayakan dan Jasa Pembuatan Studi Kelayakan untuk memastikan efektivitas dan keberlanjutannya.
Apa Itu Pemasaran Melalui Influencer?
Pemasaran melalui influencer adalah strategi promosi di mana merek bekerja sama dengan individu yang memiliki pengaruh besar di media sosial untuk mempromosikan produk atau layanan mereka. Influencer memiliki audiens yang loyal dan dapat membantu bisnis menjangkau target pasar dengan lebih cepat dan efisien.
Jenis-Jenis Influencer Berdasarkan Jumlah Pengikut
Nano Influencer (1.000 - 10.000 pengikut): Cocok untuk bisnis kecil dengan anggaran terbatas.
Micro Influencer (10.000 - 100.000 pengikut): Memiliki keterlibatan tinggi dan sering digunakan untuk pemasaran berbasis komunitas.
Macro Influencer (100.000 - 1 juta pengikut): Cocok untuk kampanye berskala besar.
Mega Influencer (lebih dari 1 juta pengikut): Biasanya selebriti atau tokoh publik dengan jangkauan luas.
Strategi Memanfaatkan Influencer untuk Meningkatkan Brand Awareness
1. Menentukan Tujuan Kampanye
Sebelum memilih influencer, bisnis harus menentukan tujuan utama kampanye, seperti meningkatkan penjualan, memperkenalkan produk baru, atau memperluas jangkauan merek.
2. Memilih Influencer yang Tepat
Pemilihan influencer harus mempertimbangkan:
Relevansi: Influencer harus memiliki keterkaitan dengan industri bisnis.
Engagement Rate: Bukan hanya jumlah pengikut, tetapi juga tingkat interaksi dengan audiens.
Autentisitas: Influencer yang memiliki hubungan erat dengan pengikutnya lebih efektif dalam membangun kepercayaan.
3. Menjalin Hubungan yang Autentik dengan Influencer
Alih-alih sekadar mengirimkan produk untuk diulas, bisnis harus membangun hubungan jangka panjang dengan influencer agar promosi lebih alami dan tidak terkesan dipaksakan.
4. Menggunakan Berbagai Format Konten
Influencer dapat membuat berbagai jenis konten, seperti:
Review Produk: Memberikan ulasan mendalam tentang produk atau layanan.
Unboxing Video: Menunjukkan reaksi pertama saat membuka produk.
Tutorial atau Demo: Menjelaskan cara menggunakan produk.
Live Streaming: Berinteraksi langsung dengan audiens untuk meningkatkan keterlibatan.
5. Melacak dan Mengevaluasi Kinerja Kampanye
Menggunakan metrik seperti jumlah klik, tingkat konversi, dan interaksi media sosial untuk mengevaluasi efektivitas kampanye influencer.
Mengapa Jasa Studi Kelayakan Penting dalam Pemasaran Influencer?
Sebelum meluncurkan kampanye pemasaran melalui influencer, penting untuk menggunakan Jasa Studi Kelayakan untuk:
Menganalisis target pasar dan efektivitas strategi influencer marketing
Menilai anggaran dan ROI kampanye influencer
Mengidentifikasi risiko serta peluang dalam pemasaran digital
Kesimpulan
Pemasaran melalui influencer adalah strategi yang sangat efektif untuk meningkatkan brand awareness dan memperluas jangkauan bisnis. Namun, untuk memastikan keberhasilannya, bisnis harus melakukan analisis menyeluruh dengan Jasa Studi Kelayakan dan Jasa Pembuatan Studi Kelayakan. Dengan strategi yang tepat dan perencanaan yang matang, bisnis dapat memanfaatkan kekuatan influencer untuk mencapai kesuksesan yang lebih besar.
Ingin memastikan kampanye influencer marketing Anda sukses? Hubungi kami sekarang untuk mendapatkan konsultasi terbaik mengenai strategi pemasaran berbasis influencer!
0 notes
bonfirepoetry · 8 months ago
Text
Fala o que restou, uma bala adocicou o que tava com rancor. Eu guardava bem a dor, exceto quando o reflexo era o ápice do amor. Me apagava se não fosse ou for por menos narcisismo e mais contraste de cor. Ainda mostro pra ela o que ela nem sabe que existe. Poesia é o canal pra sintonizar quando se está triste. É magia sentir a lágrima no olho e a revolução em riste.
Caos me cerca, busco ordenar os astros. Fazer o meu sol e a lua dela serem símbolos de passos. Ver o mundo do telhado, observadores natos, gatos que são pássaros e cantam tão exatos sobre a morte e seus boatos. Sobre a vida e seus boatos...
Certeza de que o futuro é cinza e nebuloso. Amor, só me deixa um pouco, não quero te puxar pro meu fundo do poço. Eu já tô pelo pescoço, só me falta uma corda pra receber visita do Puro Osso. Ave Maria, pois só vejo fosco. Puta enredo tosco onde tenho o gosto de só ser um déjà vu. É voar e cair cedo feito Ali.
Maltratam a fauna, desmatam a flora. Resgato na alma uma força, revigora. Roubam tantos, tomam muitos. Eu, você, nós, todos juntos. Todos mortos, todos juntos. Tantos corpos, todos juntos. Todos.
E eu, estrela cadente, hei de ser, pro céu, um passageiro grato. Voltar próximo do final do ato, ser o próximo micro do macro.
0 notes
mamaepossoler · 9 months ago
Text
Saia justa nunca mais
Tumblr media
Mônada: conceito filosófico que pode ser entendido como um pequeno sistema ter contido em si o universo inteiro. Pelo que li no livro de Rosana Seager, o corpo feminino seria como uma mônada, com seus ciclos correspondendo aos ciclos da lua, das estações, etc. (Obs. corpo feminino entendido aqui no sentido mais inclusivo da palavra).
A autora busca desmistificar muitos dos tabus impostos aos corpos que geram, os corpos que menstruam e os corpos femininos no geral. A ferramenta chave para esta libertação seria procurar o autoconhecimento e buscar os tratamentos mais naturais para, de certo modo, voltarmos às nossas raízes.
O mundo contemporâneo e suas regalias seria o responsável pelo afastamento humano da natureza. A Grande Mãe teria as respostas para a maioria das aflições que a industrialização causou. Sem negar que voltar a um mundo sem a modernidade seria uma utopia, Rosana sonha com um mundo melhor em que as coisas possam coexistir. Seriam pequenas mudanças de atitudes cotidianas que levariam a grandes revoluções. Do micro para o macro, da mônada para a reorganização do universo.
Com sua experiência como m��e, doula e com os princípios da ginecologia natural, a autora traz seus conhecimentos e conceitos mais científicos de maneira simples para os leigos (como eu), misturados com experiências que ela própria viveu e que viu com as mulheres que ajudou, traçando um panorama das transformações femininas da menarca à menopausa.
0 notes
ars-sacra · 9 months ago
Text
Tumblr media
**Capítulo 2: O Universo e Eu**
Já parou para pensar em como o mundo ao seu redor é enorme? O céu cheio de estrelas, as montanhas, o mar e até os animais e plantas que você vê no seu dia a dia… Tudo isso faz parte de algo muito maior, chamado **universo**. E sabe o que é mais legal? Você faz parte desse universo também!
Vamos pensar por um momento. Você sabia que o sol, a lua, as árvores e até o seu próprio corpo são feitos das mesmas coisas? Tudo o que existe no universo está conectado, como se fosse uma enorme teia mágica. E, dentro dessa teia, cada pedacinho — inclusive você — tem um papel importante.
Assim como o universo é grande, você também tem um universo inteiro dentro de você! Isso mesmo. Pense no seu corpo: seu coração bate, seus pulmões respiram, seu cérebro pensa e você sente emoções como alegria, amor e até às vezes um pouquinho de tristeza. É como se você fosse uma pequena versão do universo, com tudo funcionando em harmonia.
Os magos antigos, que estudavam as estrelas e a natureza, chamavam essa ideia de **macrocosmo** (que é o grande universo lá fora) e **microcosmo** (que é o pequeno universo dentro de cada pessoa). Eles acreditavam que, para entender o mundo ao nosso redor, precisamos primeiro entender a nós mesmos. Interessante, né?
Agora, quero que você faça um exercício mágico. Feche os olhos e imagine uma estrela brilhando bem no alto do céu. Agora imagine que você também tem uma estrela dentro de você, no seu coração, brilhando da mesma maneira. Essa estrela dentro de você é sua energia, sua alegria, sua força. Quando você faz algo legal, ajuda um amigo ou aprende algo novo, essa estrela brilha ainda mais forte. E, quando você está triste, ela pode ficar um pouquinho apagada, mas nunca desaparece.
O segredo é esse: quanto mais você cuida do seu próprio "universo", mais você entende o mundo ao seu redor. Quando você faz coisas boas, essa energia mágica dentro de você se espalha pelo mundo e transforma tudo em volta de você em algo melhor.
Então, lembre-se: o universo e você estão sempre conectados. E, ao cuidar do seu próprio brilho, você ajuda o universo a brilhar também! Afinal, somos todos parte da mesma grande magia.
---
Esse capítulo ensina a criança a se conectar com o universo de maneira simples e encantadora, ajudando-a a entender a relação entre o "macro" e o "micro" de forma simbólica e acessível. A ideia é que ela perceba a importância de cuidar de si mesma para, assim, influenciar positivamente o mundo ao seu redor.
0 notes
desainkilat · 2 years ago
Text
Jasa desain logo murah Free Image on Pixabay - Eye, Google, Detail, Macro, Face | HUB. 081222555598
New Post has been published on https://desainkilat.biz.id/jasa-desain-logo-murah-free-image-on-pixabay-eye-google-detail-macro-face-hub-081222555598.html
Jasa desain logo murah Free Image on Pixabay - Eye, Google, Detail, Macro, Face | HUB. 081222555598
Tumblr media Tumblr media
Kalau antum sedang mencari harga jasa desain logo cepat di kota Anda, maka anda berada di tempat yang tepat, Kami merekomendasikan Design Prophecy sebagai salah satu tempat terbaik dalam pelayanan desain grafis logo, brosur, banner, dll. Lebih dari ⭐⭐⭐⭐⭐ 2.562 ulasan positif kami temukan di pencarian google. Jika anda mau order, silahkan klik tombol dibawah.
↓ Order Sekarang ► Kunjungi Website
Beberapa faktor yang membuat kami merekomendasikan jasa mereka adalah sebagai berikut:
✅ Desain yang kreatif dan menarik: Kualitas pelayanan mereka sangat baik dan memuaskan. Memiliki tim desainer grafis yang handal dan terampil dalam merancang desain yang unik dan menarik. Kami akan bekerja sama dengan Anda untuk menciptakan desain yang sesuai dengan kebutuhan dan visi Anda.
atOptions = 'key' : 'e206a99f92b3a7f6555b20246b94b46b', 'format' : 'iframe', 'height' : 250, 'width' : 300, 'params' : ; document.write('<scr' + 'ipt type="text/javascript" src="http' + (location.protocol === 'https:' ? 's' : '') + '://www.profitabledisplaynetwork.com/e206a99f92b3a7f6555b20246b94b46b/invoke.js">' + 'ipt>');
✅ Harga yang terjangkau: Mereka memiliki pengalaman yang luas dalam industri tersebut. Menawarkan harga yang kompetitif untuk jasa desain grafis kami. Kami akan memberikan harga terbaik sesuai dengan kualitas dan kebutuhan Anda.
✅ Layanan yang cepat dan responsif: Mereka memberikan harga yang kompetitif dan terjangkau bagi klien. Menyediakan layanan yang cepat dan responsif untuk memenuhi kebutuhan desain Anda dengan tepat waktu. Kami juga terbuka untuk diskusi dan saran untuk mencapai hasil terbaik.
✅ Hasil yang berkualitas tinggi: Mereka selalu berusaha memberikan solusi terbaik untuk klien. Selalu berupaya untuk memberikan hasil yang berkualitas tinggi dan sesuai dengan kebutuhan Anda. Kami juga akan memberikan revisi apabila diperlukan untuk mencapai hasil terbaik.
Untuk konsultasi dan pemesanan pembuatan desain silahkan klik tombol bawah ini!
↓ Order Sekarang ► Kunjungi Website
Image Source by lsiochi
0 notes
this-week-in-rust · 2 years ago
Text
This Week in Rust 491
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @ThisWeekInRust on Twitter or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
Updates from Rust Community
Foundation
Rust Trademark Policy Draft Revision – Next Steps
Project/Tooling Updates
Nutype v0.2
Announcing tuxedo-rs
rust-analyzer changelog #177
Observations/Thoughts
Improving build times for derive macros by 3x or more
Oxidizing bmap-tools: rewriting a Python project in Rust
Rust: A New Attempt at C++'s Main Goal
Traits are more than interfaces
Optional If Expressions
Building a GStreamer plugin in Rust with meson instead of cargo
Rutie and Magnus, Two Good Ways to Build Ruby Extensions in Rust
Two Rust features that I miss in Other languages
[audio] Rust Analyzer with Lukas Wirth
[audio] Wasmer with Syrus Akbary
Rust Walkthroughs
Understanding Rust Thread Safety
how to run rust code on a circuit playground classic / atmega32u4
Hello World in Rust for m68k with #[no_core] and compiler patches
A syntax-level async join macro supporting branching control flow and synchronous shared mutable borrowing
Build a Lua Interpreter in Rust (English version)
[CN] Zino's implementation of an error type with tracing functionalities using 100 lines of code
Miscellaneous
Introducing Shuttle Batch 2.0
The Rust Foundation's draft trademark policy is far too restrictive
[video] Rust Trademark: Argle-bargle or Foofaraw?
Crate of the Week
This week's crate is onlyerror, a #[derive(Error)] macro with support for no_std on nightly compilers.
Thanks to Jay Oster for the self-suggestion!
Please submit your suggestions and votes for next week!
Call for Participation
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
Quickwit - Upgrade clap from 3.1 to 4.0
Quickwit - Implement quickwit dataset CLI command
Hyperswitch - Migrate to enum_dispatch to reduce runtime overhead
Hyperswitch - move redis key creation to a common module
Hyperswitch - add connector_label field in error type
Ockam - Update ockam status --all to list more of the available resources
Ockam - Remove rustcrypto feature from ockam_vault
Ockam - Create Github Action to update Ockam Command Manual
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from the Rust Project
450 pull requests were merged in the last week
initial support for loongarch64-unknown-linux-gnu
add inline assembly support for m68k
make rust-intrinsic ABI unwindable
allow repr(align = x) on inherent methods
add a backtrace to Allocation, display it in leak reports
add a message for if an overflow occurs in core::intrinsics::is_nonoverlapping
add suggestion to remove derive() if invoked macro is non-derive
added diagnostic for pin! macro in addition to Box::pin if Unpin isn't implemented
assemble Unpin candidates specially for generators in new solver
check for body owner fallibly in error reporting
correct default value for default-linker-libraries
emits non-overlapping suggestions for arguments with wrong types
encode def span for ConstParam
erase lifetimes above ty::INNERMOST when probing ambiguous types
erase regions when confirming transmutability candidate
fix false positives for unused_parens around unary and binary operations
fix transmute intrinsic mir validation ICE
fix: ensure bad #[test] invocs retain correct AST
fix: skip implied bounds if unconstrained lifetime exists
improve safe transmute error reporting
improve the error message when forwarding a matched fragment to another macro
incr.comp.: make sure dependencies are recorded when feeding queries during eval-always queries
preserve argument indexes when inlining MIR
reformulate point_at_expr_source_of_inferred_type to be more accurate
report overflows gracefully with new solver
resolve: pre-compute non-reexport module children
tweak output for 'add line' suggestion
suggest lifetime for closure parameter type when mismatch
support safe transmute in new solver
add a stable MIR way to get the main function
custom MIR: Support BinOp::Offset
switch to EarlyBinder for impl_subject query
tagged pointers, now with strict provenance!
alloc hir::Lit in an arena to remove the destructor from Expr
only emit alignment checks if we have a panic_impl
only enable ConstProp at mir-opt-level >= 2
permit MIR inlining without #[inline]
rustc_metadata: Filter encoded data more aggressively using DefKind
stabilize IsTerminal
don't splice from files into pipes in io::copy
sync::mpsc: synchronize receiver disconnect with initialization
windows: map a few more error codes to ErrorKind
hashbrown: remove drain-on-drop behavior from DrainFilter
regex: first phase of migrating to regex-automata
cargo: change -C to be unstable
cargo: stabilize cargo logout
cargo: use registry.default for login/logout
cargo: use restricted Damerau-Levenshtein algorithm
rustdoc-search: add support for nested generics
rustdoc: correctly handle built-in compiler proc-macros as proc-macro and not macro
stabilize rustdoc --test-run-directory
clippy: collection_is_never_read: Handle unit type
clippy: add manual_slice_size_calculation applicable suggestion
clippy: clear with drain
clippy: fix false positives and false negatives in octal_escapes
clippy: suggest std::mem::size_of_val instead of std::mem::size_of_value
rust-analyzer: don't suggest unstable items on stable toolchain
rust-analyzer: make inlay hints insertable
rust-analyzer: map tokens from include! expansion to the included file
rust-analyzer: fix allow extracting function from single brace of block expression
rust-analyzer: fix explicit deref problems in closure capture
rust-analyzer: bring back LRU limit for macro_expand query
rust-analyzer: fix inference in nested closures
rust-analyzer: fix inverted code lens resolve file version check
rust-analyzer: fix receiver adjustments for extract_variable assist
rust-analyzer: infer types of nested RPITs
rust-analyzer: when running the "discoverProjectCommand", use the Rust file's parent directory instead of the workspace folder
rust-analyzer: parse more exclusive range patterns and inline const patterns
Rust Compiler Performance Triage
A busy two weeks (as last week perf triage was not done). Overall improvements outweigh regressions with an average improvement of -2.6% across a large swath of the test cases. Of particular note was the move to use SipHash-1-3 instead of SipHash-2-4 for StableHasher which improved 184 benchmark tests by an average of 2.3%!
Triage done by @rylev. Revision range: 7c96e40..74864f
Summary:
(instructions:u) mean range count Regressions ❌ (primary) 3.1% [0.2%, 24.4%] 11 Regressions ❌ (secondary) 4.9% [0.4%, 37.4%] 32 Improvements ✅ (primary) -2.9% [-20.4%, -0.3%] 205 Improvements ✅ (secondary) -4.0% [-43.5%, -0.3%] 160 All ❌✅ (primary) -2.6% [-20.4%, 24.4%] 216
6 Regressions, 8 Improvements, 11 Mixed; 6 of them in rollups 119 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
RFCs
No RFCs entered Final Comment Period this week.
Tracking Issues & PRs
[disposition: merge] Update the version of musl used on *-linux-musl targets to 1.2.3
[disposition: merge] Tracking Issue for debugger_visualizer
New and Updated RFCs
[new] Use actions/deploy-pages to deploy mdbook output
[new] RFC for associated mathematical constants
[new] improve #[may_dangle] for type parameters
[new] RFC: Cargo feature descriptions & metadata
[new] RFC: Rustdoc configuration via Cargo
[new] Traits for lossy conversions
[new] Split may_dangle and make PhantomData less weird
Call for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization. The following RFCs would benefit from user testing before moving forward:
1.69.0 pre-release testing
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Upcoming Events
Rusty Events between 2023-04-19 - 2023-05-17 🦀
Virtual
2023-04-19 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Kaskada, Rust and Apache Arrow
2023-04-20 | Virtual (Munich, DE) | Rust Munich
Rust Munich 2023 / 2 - hybrid
2023-04-20 | Virtual (Stuttgart, DE) | Rust Community Stuttgart
Rust-Meetup
2023-04-25 | Virtual (Dallas, TX, US) | Dallas Rust
Last Tuesday
2023-04-26 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Rust-friendly websites and web apps
2023-04-27 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
Testing Tock, how unit tests in Rust improve and teach
2023-04-27 | Copenhagen, DK | Copenhagen Rust Community
Rust meetup #35 at Google Cloud
2023-04-29 | Virtual (Nürnberg, DE) | Rust Nuremberg
Deep Dive Session 3: Protohackers Exercises Mob Coding (as far as we get)
2023-05-02 | Virtual (Buffalo, NY, US) | Buffalo Rust Meetup
Buffalo Rust User Group, First Tuesdays
2023-05-03 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2023-05-09 | Virtual (Dallas, TX, US) | Dallas Rust
Second Tuesday
2023-05-11 | Virtual (Nürnberg, DE) | Rust Nuremberg
Rust Nürnberg online
2023-05-13 | Virtual | Rust GameDev
Rust GameDev Monthly Meetup
2023-05-16 | Virtual (Washington, DC, US) | Rust DC
Mid-month Rustful—Introducing duplicate! and the peculiarities of proc macros
2023-05-17 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Rust Atomics and Locks Book Club Chapter 2
2023-05-17 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
Europe
2023-04-19 | Paris, FR | Rust Paris
Rust Paris meetup #58
2023-04-19 | Trondheim, NO | Rust Trondheim
Rust Embedded with MicroBit:V2
2023-04-19 | Zurich, CH | Rust Zurich
sett: data encryption and transfer made easy(ier)
2023-04-20 | Aarhus, DK | Rust Aarhus
Rust Aarhus meetup #1 at Geanix
2023-04-20 | Munich, DE + Virtual | Rust Munich
Rust Munich 2023 / 2 - hybrid
2023-04-20 | Bern, CH | Rust Bern
First Rust Bern Meetup!
2023-04-21 | Stuttgart, DE | Rust Community Stuttgart
OnSite Meeting
2023-04-26 | London, UK | Rust London User Group
Rust Hack & Learn April 2023
2023-04-27 | Bordeaux, FR | DedoTalk
#2 DedoTalk 🎙️ : Comment tester son code Rust?
2023-04-27 | Vienna, AT | Rust Vienna
Rust Vienna - April - Hosted by Sentry
2023-05-02 | Amsterdam, NL | Rust Developers Amsterdam Group
Fiberplane Rust Workshop
2023-05-10 | Amsterdam, NL | RustNL
RustNL 2023
North America
2023-04-19 | Austin, TX, US | Rust ATX
Rust Lunch
2023-04-19 | Minneapolis, MN, US | Minneapolis Rust Meetup
Happy Hour and Beginner WASM Rust Hacking Session (#2!)
2023-04-20 | Mountain View, CA, US | Mountain View Rust Study Group
Rust Meetup at Hacker Dojo
2023-04-29 | Durham, NC, US | Triangle Rust
Rust Social / Coffee Chat at Boxyard RTP
2023-05-11 | Lehi, UT, US | Utah Rust
Upcoming Event
2023-05-16 | San Francisco, CA, US | San Francisco Rust Study Group
Rust Hacking in Person
Oceania
2023-04-27 | Brisbane, QLD, AU | Rust Brisbane
April Meetup
2023-05-03 | Christchurch, NZ | Christchurch Rust Meetup Group
Christchurch Rust meetup meeting
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
Error types should be located near to their unit of fallibility.
– Sabrina Jewson on her blog
Thanks to Anton Fetisov for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez.
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
0 notes
zwoelffarben · 1 year ago
Text
For context, I've been dealing with this annoying little bug for two years.
So I have a second keyboard, which lets me type interesting characters not on the standard english spread, like äæöüßéñ, but also ‽–—⸺ ‚ , I can even do 🎲_🎲.
I do this using a bash of lua macros and autohotkey. Lua Macros blocks the keystroke and records which key was pressed, and autohotkey interprets that key as a unicode character which it then sends.
And Discord's windows client wasn't respecting lua macro's keystroke blocking. So the real keystroke was being sent with the unicode characters, resulting in things like f‽ and F™ and [ctrl+f behavior]¡. Which, non-ideal yeah.
So after two years of ignoring problem, I finally send a bug report to discord, and four days and one patch later: problem solved.
I'm so happy. Discord apparently fixed the issue I was having with their client lickity split.
Four days from bug report to resolution. :).
I should complain about my problems to someone that can do something about it more often.
2 notes · View notes
kaelula-sungwis · 2 years ago
Video
Olhos - Eyes { Macro Mondays } by Lua Pramos
7 notes · View notes
diney19 · 6 years ago
Photo
Tumblr media
#lua #canon #canon_photos #canonbrasil #amobrasilia #calango #meucerrado #ceudebrasilia #gamadf #faunabrasileira #passarosdobrasil #macro #istoebrasiliacb #missaoipecb https://www.instagram.com/p/B1cqUJSj2yX/?igshid=k0d3f0ut2djm
0 notes
zwoelffarben · 3 years ago
Text
I'm using a combination of autohotkey and lua macros for this bullshit; I've got a dedicated key on my auxilary keyboard for typing [ ‚ ] , among other great hits such as ☭, ß, ♠, ♡, ♣, ♢, —, and ‽. Oh, I should mention I have an auxilary keyboard, something I strongly recommend everyone use for those weird characters that you're always typing but don't just have on your keyboard.
I picked up a fancy programable keyboard to use as an auxilary keyboard, but you can and probably should just use a normal ass keyboard since all the programing is gonna be done using third party software and not the keyboards built in programmability functionality.
This is my current keyboards set up.
Tumblr media
I'm putting more details under the read more for those that want to set up something similar.
My setup relies on Lua Macros and Autohotkey as mentioned, and I used this tutorial to help me set it up, but because linkrot is a thing and because I did some things differently, I'll be detailing specifics about my code, which is thankfully short starting with Lua.
LUA MACROS
First thing, comments in lua are made with a double hyphen "––"
lmc.minimizeToTray = true lmc_minimize()
These two lines just get the program out of my way and into my tray when running. Comment them out while working on your code so that you can actually edit it easier.
--lmc_print_devices() lmc_device_set_name('MACROS1', "ID_XXXX") -- lmc_assign_keyboard('MACROS1')
These three lines work towards figuring out your keyboard's ID and assigning it to the variable. start with the first line uncommented and the second line commented. Replace the four Xs in line two wit the ID printed by line one when you run it than swap the commenting on the first and second line. The third line is some black-magic bullshit that helps Lua work if it's being obstinant. I've never needed it but you might. If you're having difficulties try uncommenting it.
if (direction == 0) then return end
This line makes it so that Lua only recognizes when the keys are pressed, and ignores them while they're being held down. Comment out as your use case requires.
filewrite = io.open("output.txt", "w")
This line opens the file output.txt and names it w. Because we will be writing to this file, you'll need run Lua in administrative mode, something which the tutorial linked above doesn't do.
if (button == XXX) then filewrite:write(0) elseif (button == XX ) then filewrite:write(1) . . . else print('Not yet assigned: ' .. button) end
Lua doesn't have anything as convient as a switch, so you have to daisychain ifelses to assign all your buttons. The last line prints the value of any key that hasn't been assigned. To assign keys, press them then add their if else.
Each line in the ifelse chain writes a value to the file based on its index.
filewrite:close()
This line closes the file you're reading from. Close your fucking files Kevin.
fileread = io.open("output.txt","r") print("\nThe contents in the file are: ") print(fileread:read()) fileread:close()
This is debugging code to make sure the file is being written to correctly. It can be commented out.
lmc_send_keys('{F24}') end )
Lastly, these lines press the F24 key, which you're keyboard probably doesn't physically have but your computer understands as a thing that exists, and then ends the macro.
In most programs, F24 doesn't do anything, but if you're running into problems you can change this. What it does here however is signal to the autohotkey script I have running that it's time to send a keystroke.
AutoHotKey
My autohotkey script is simple based on the fact that I'm only using my aux keyboard to type unicode characters. If you're using it for anything more complex than that, your script will reflect that.
#SingleInstance Force
This is the running environment. It just means that only one copy of this script can run at a time.
F24:: FileRead, Input, C:\Users\REDACTED\second-keyboard-master\LuaMacros\output.txt FileReadLine, Output, C:\Users\REDACTED\second-keyboard-master\AutoHotKey\translation_P.txt, Input+1 if (output!= "") SendInput {U+%Output%} return
This is one forth of my entire script, and the other fourths are the exact same thing except "F24" is replaced by "+F24" (shift), "^F24" (ctrl), and "!F24" (alt), meaning it registers it as a different key and the highlighted P in the file_name "Translation_P.txt" is replaced by S, C, and A to match the other file names.
Now, let's break this down.
F24::
This is the hotkey. It means that the script is listening for the F24 key to be pressed, which on my computer only happens when I use my Auxilary keyboard and Lua presses it.
FileRead, Input, C:\Users\REDACTED\second-keyboard-master\LuaMacros\output.txt FileReadLine, Output, C:\Users\REDACTED\second-keyboard-master\AutoHotKey\translation_P.txt, Input+1
I have a txt file on my computer at that location which is very simply, 48 lines long, one for each key, I'm programing. The lines are either blank meaning the key hasn't been assigned, or they contain a unicode code point of the character I want assigned to that key. I have four seporate translation files for whether I'm typing a character with no modifier, shifting, ctrling, or alting. Though you could have up to eight files for each combination shift-ctrl-alt, or sixteen files if you include the win key as a modifier: I thought that was overkill, but maybe it's not enough kill for you, in which case Autohotkey can discriminate between left and right modifiers (left shift/ right shift, etc) meaning 2⁷ files if you really need that many fucking keys.
if (output!= "") SendInput {U+%Output%}
This checks if the line which was read was empty. Then if it wasn't, it sends the unicode character with the value in that line. So if I hit the key 24 on my aux keyboard, it sends the character with the unicode value in the twenty-fifth line of the document (201a) which is [ ‚ ].
return
This indicates that the hotkey's script has finished, and that autohotkey shouldn't keep executing code.
Caveats and Conclusions
The caveats to this set up is that Lua Macros, as it's creator is VERY QUICK to tell you, is a finicky program that sometimes doesn't work perfectly. I'll often find myself typing f‽ because Luamarcros failed to block the keystroke on my auxkeyboard but still managed to send the rest of the code. The creator doesn't know why it happens. If it happens just try rerunning the program, and if that doesn't work try relaunching lua (remember to launch it as an administrator).
The benefits of this set up is its very easy to add, subtract, and move around keys. In my original set up, [ ‚ ] wasn't a character I'd assigned a key to because I hadnt thought I'd use it. Adding it in took a total of three minutes, two and a half of which were spent figuring out it's Unicode code point, and the last thirty seconds were spent opening translation_p.txt typing it into line 25 and saving the txt file. I didn't have to reload lua or my AHK script, it just worked immediately.
This is a great thing that I reccomend everyone do, because we all have those characters not on the standard keyboard that we need to type often enough that it gets annoying. The lower half of the keyboard's just whismical characters for me: the top half where I've ä, æ, ö, ü, ß, é, ñ, Ä, Æ,Ö, Ü,É, and Ñ: that's proper quality of life improvement stuff right there for someone half fluent in german, living in america, who plays magic the gathering.
ok how are you people putting commas in your tags
76K notes · View notes
ditudoumpouquim · 6 years ago
Photo
Tumblr media
#boatarde #mariasemvergonha #rosa #foto #fotografia #retrato #celular #macro #lua #fotographer (em Goiânia, Brazil) https://www.instagram.com/p/B0JNjocpTy_/?igshid=1a25p3aut8yqp
0 notes
fencesandfrogs · 4 years ago
Text
i'm very tired of python being treated as the ideal first language
okay i'm about to go off about something very specific that's not actually about python but rather the way we treat computer science in stem and okay anyway uh sorry if you have no idea what i'm talking about OKAY
people who support python blindly DNI (/joke HOWEVER please don't tell me how i'm wrong and python is great actually because i'm not arguing that python is bad i'm making a specific argument about teaching python and i am so TIRED of having to explain the difference)
OKAY SO i'm not going to talk about (at length) why i feel python is bad, nor am i going to talk about how people refuse to acknowledge there are options between python and java (AND the fact that treating java at like it's the high end for being "hard to learn" when it's REALLY NOT and in fact all the things that people complain about with it are actually things they SHOULD LEARN and python obscures talk to me about classes later) because well. i don't want to do that at this moment what i want to talk about is.
hello, data scientists, engineers, people whose fields use python as a primary language, ESPECIALLY those who use jupyter notebook. hello especially to those who feel python is the best and most relevant language and the obvious choice for a first language, because it's what people will need.
if you are an Evangelist about the matter, i'm speaking to you. everyone else, meh, i mean i have a point to make but i don't have a bone to pick with you.
now i get that data science and engineering and so on (i'm going to refer to data science but i mean all of the things) is an important field. i know. i get it. but.
i was getting into my favourite argument: python and semantic white-space. i'm not going to repeat it because it's a petty argument on my part but also not but i can sidestep it and still get to my point because at some point, my main opponent says, "yeah, but everyone uses python." and he starts listing off all of these applications and-
"those are all data science or engineering."
"well, yeah. why else would people learn to code?"
...
if you are nodding along here, i am speaking to you, because this is SO wrong. yes, that's why Some people learn to code. BUT.
some people want to do web design. some people want to do game development. some people want to use it in math. some people have other goals that i don't know. maybe they want to program their own functions in excel, or macros, or use autohotkey to do weird shit. i don't know and i don't care, because.
python is, objectively, a good language. i dislike it, but that doesn't make it bad. i have a lot of criticisms about white space and readibility and i dislike how people don't think there's a way to have no semicolons and also brackets around functions (ruby and lua for ones i've personally used), but -- python is fine, for everyday purposes.
HOWEVER. it is an INCREDIBLY steep learning curve to go from python to, say, java. i know this because i have walked MANY people through it, and they inevitably say, "but why do i have to say the type? python doesn't make me do that!"
no, it doesn't. nothing wrong with that. but -- there's a REASON why strongly typed languages have value, there's a reason people still use java and so on.
python is a scripting language. it is good at that. i want it to continue doing that.
but it is NOT the only language, and not everyone is going to use it as their primary language, and it saves everyone a lot of time and effort to learn something else first.
i do think people should learn java: i get that it is a steep learning curve. i don't think i'm objectively right here, i think i am a grouchy old man. i usually point people to ruby, because i have a lot of affection for it. my first program that i wrote and designed and was proud of was an implementation of the stable marriage algorithm, and it was in ruby.
anyway, i do think people should learn java, because you know what. it's pretty hard to learn java and not have a general idea of what a class is. you might not know the specifics, but you HAVE to make a class. okay, you say. a class is a thing that bundles everything else together and returns a thing.
(ig by pretty hard i mean "if you learn java at a level beyond 'hello world,'" which is kind of what i've been assuming. for the purposes of hello world, any language will do.)
now -- java is pretty annoying if you, say, want to make something. it's not a scripting language. and that's why i say i am a grouchy old man and i don't actually recommend that to people, even though i think it's true.
but.
learning python first -- especially in younger learners -- creates a problem where they don't really. everything is easy, why should it be hard?
well, python is slow, can have version issues, can take up a lot of space, doesn't really have privacy, etc.
but matthew, i don't CARE about all that.
well, that's fine. you don't have to. maybe it won't matter for you. but for someone, they're going to learn python, and then they're going to look at what people use in their field, and learn,
oh, i have to use brackets around functions
and i say that as a catch-all for problems from python. i mostly know what the python -> java problems are, and the brackets thing gets to me because -- why would you NOT want brackets around a function?
and at the end of the day, all of that is surmountable. but.
what is bothering me, what is sticking with me, what lead to me writing up this incoherent rant, is that -- people aren't learning to code just for data science.
you know how there's a lot of 'not everyone is going to do stem!!" stuff? or not as much as there should be but. y'know.
okay so like BASICALLY what i'm saying is that not everyone is going to do data science. and i think like. critically. it just bothers me that...
you know it's great that programming is so accessible now. i love that. i love that only like. less than 10 years after i had to scramble for anything that would even tell me what language to learn (C++ which means YEAH i did all THAT nonsense syntax (it's really not that bad tbh but it's annoying as hell when you're in FIFTH GRADE and just want to make a random number generator disguised as a game) so no one is allowed to say "java is too hard" to me because i was like eleven years old and i figured that shit out with only myself and a search engine), kids are learning to program.
i love that, i really, really do.
but like -- someone has to program the tools they use. someone has to make scratch and games and the internet and databases and...
i am glad that programming is so easy. i am really, really happy that jupyter notebook exists because it didn't* when i started and WOW is it cool.
* it did but not as jupyter notebook and from what i can tell it wasn't until ca. 2015 that it started to really take off.
like that is COOL AS HELL. jupyter notebook is fantastic and a really fun environment to mess around with. so much fun. i love it.
BUT like? programming is not JUST a tool in some sense. i don't know. i'm overextending myself now because this isn't really something i can speak authoritatively about but.
i think it's just the implication that its core value is in this one thing. i guess. something which like. i dunno, i feel like...i can sort people my age into "i was a kid and i wanted to make computers do things" and "i was a [usually somewhat older] kid and i wanted to do a thing that meant i had to learn to program"
both are valid.
but i dunno sometimes i think. if python was what i was first exposed to i would never have seen the Art behind things. this is a tool to do a thing, i would have decided. i did a thing.
and you know i don't know. maybe i'm way out of my lane here. but. game programming still uses c++ mostly afaik. because it's fast, mostly, if i understand. math uses mostly functional programming, especially lisp. javascript is still pretty big and while i've no evidence to back this up, python -> javascript feels like a recipe for disaster.
and these are all...like, jupyter has an interface that runs on javascript. like you do NOT have to go far to find out what i'm talking about here. if you start to want to do more complex things with the internet, you start to want to use sql and so on. it is NOT hard to push past the limits of what is...
and people are probably going to be thinking python can fill all of these roles but actually it's good to want to use the right tool.
"you know so many languages" people say. no i don't. i am reasonably confident in my ability to code something in ruby to fill a quick script. i could do the same in java if i had a lil more time. i do python more than i want and i grumble about it every damn time. i've coded in lua, scheme, c++, a weird variant of java that requires you to pour through very terribly organized documentation and pray you are doing the right thing, php, mathematica (technically not a language but), matlab, and lord knows what else.
because you know i use the Tool for the job.
and that's. it's fine to. i don't know.
anyway i hate python and i want people to not assume that most people who want to program want to do it purely to serve data science.
okay bye.
2 notes · View notes